package servicios

import java.util.Date
import primeraEntregaMain.Usuario
import aerolineasYVuelos.SessionManager
import aerolineasYVuelosDaos.UsuarioDAO
import aerolineasYVuelos.Asiento
import scala.collection.mutable.Buffer

object ServicioUsuario {
  
	def crearUsuario(nombre: String, apellido: String, nombreDeUsuario: String,
		  			email: String, fechaDeNacimiento: Date, password: String, validado: Boolean) {
	  
	  SessionManager.runInSession[Unit] { () => 
		  var usuario = new Usuario
		  usuario.inicializarUsuario(nombre, apellido, nombreDeUsuario, email, fechaDeNacimiento, password, validado)
		  UsuarioDAO.save(usuario)
	  }
    
  }
	
	def agregarUsuario(usuario: Usuario) { 
	  SessionManager.runInSession[Unit] { () =>
	  	UsuarioDAO.save(usuario)
	  }
	}
	
	def usuarioExistente(nombreDeUsuario: String) :Boolean = {
		SessionManager.runInSession[Boolean] { () =>
			UsuarioDAO.get(nombreDeUsuario) != null
		}
	}
	
	def dameUsuario(nombreDeUsuario: String) :Usuario = {
		SessionManager.runInSession[Usuario] { () =>
			UsuarioDAO.get(nombreDeUsuario)
		}
	}
	
	def cambiarPassword(userName: String, nuevoPass: String) {
		var usuario = dameUsuario(userName)
		usuario.cambiarPassword(nuevoPass)
		SessionManager.runInSession[Unit] { () =>
			UsuarioDAO.save(usuario)
		}
	}
	
}